#ifndef _FURNITURE_H_
#define _FURNITURE_H_

namespace iotek {

// 和001 的区别：把 weight 抽离为一个单独的类，让 Sofa和Bed分别继承它。
class Weight {
private:
  int m_weight;
public:
  Weight();
  Weight(int);
  void setWeight(int);
  int getWeight();
};

class Sofa : public Weight {
// private:
//   int m_weight;
public:
  Sofa(int);
  // void setWeight(int);
  // int getWeight();
  void watchTV();
};

class Bed : public Weight {
// private:
//   int m_weight;
public:
  Bed(int);
  // void setWeight(int);
  // int getWeight();
  void sleep();
};

// class Sofabed : public Sofa, public Bed {
class Sofabed : public Sofa {
public:
  // 如果是一个无参构造，那么父类中也一定要存在对应的无参构造。
  // Sofabed();
  
  Sofabed(int);
  void foldout();
};

}

#endif